package 公司360;

import java.util.Arrays;
import java.util.Scanner;

/**
 @author fujiangnan
 @create 2021-08-29-16-34
 @desc 长城守卫军


 长城上有连成一排的n个烽火台，每个烽火台都有士兵驻守。

 第i个烽火台驻守着ai个士兵，相邻峰火台的距离为1。另外，有m位将军，每位将军可以驻守一个峰火台，每个烽火台可以有多个将军驻守，将军可以影响所有距离他驻守的峰火台小于等于x的烽火台。每个烽火台的基础战斗力为士兵数，另外，每个能影响此烽火台的将军都能使这个烽火台的战斗力提升k。长城的战斗力为所有烽火台的战斗力的最小值。

 请问长城的最大战斗力可以是多少？

 第一行四个正整数n,m,x,k(1<=x<=n<=10^5,0<=m<=10^5,1<=k<=10^5)

 第二行n个整数ai(0<=ai<=10^5)

 仅一行，一个整数，表示长城的最大战斗力
 */
public class Main1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int len = scanner.nextInt();
        int m = scanner.nextInt();
        int x = scanner.nextInt();
        int k = scanner.nextInt();
        int[] arr = new int[len];
        for (int i = 0; i < len; i++) {
            arr[i] = scanner.nextInt();
        }
        int ans = maxPower(arr, m, x, k);
        System.out.println(ans);
    }

    public static int maxPower(int[] arr, int m, int x, int k) {
        int res = 0;
        int minIndex = 0;
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] < arr[i-1]) {
                minIndex = i;
            }
        }
        if (m % 2 == 1) {
            arr[minIndex] += k;

        }


        return res;
    }
}
